The present invention relates generally to the field of networking devices, and more particularly to a network switch capable of transferring data between different types of networks, the network switch having a multiple data bus structure and including a bridge interface for transferring network data between different buses.
There are many different types of networks and network systems for sharing files and resources or for otherwise enabling communication between two or more computers. Networks may be categorized based on various features and functions, such as message capacity, range over which the nodes are distributed, node or computer types, node relationships, topology or logical and/or physical layout, architecture or structure based on cable type and data packet format, access possibilities, etc. For example, the range of a network refers to the distance over which the nodes are distributed, such as local-area networks (LANs) within an office or floor of a building, wide-area networks (WANs) spanning across a college campus, or a city or a state, global-area networks (GANs) spanning across national boundaries, etc.
The structure of a network generally refers to the cabling or media and media access used as well as the packet structure of the data transmitted across the media. Various structures are common, including Ethernet using coaxial, twisted pair or fiber-optic cables for operation at 10 megabits per second (Mbps) (e.g. 10Base-T, 10Base-F) or fast Ethernet operating at 100 Mbps (e.g. 100Base-T, 100Base-FX). ARCnet (Attached Resource Computer Network) is a relatively inexpensive network structures using coaxial, twisted pair or fiber-optic cables for operation at 2.5 Mbps. Token Ring topologies use special IBM cable or fiber-optic cable for operation between 1-16 Mbps. Of course, many other types of networks are known and available.
Each network generally includes two or more computers, often referred to as nodes or stations, which are coupled together through selected media and various other network devices for relaying, transmitting, repeating, translating, filtering, etc., the data between the nodes. The term xe2x80x9cnetwork devicexe2x80x9d generally refers to the computers and their network interface cards (NICs) as well as various other devices on the network, such as repeaters, bridges, switches, routers, brouters, to name a few examples. A network operating according to a given communications protocol may be expanded by using one or more repeaters, bridges or switches. A repeater is a hardware device that functions at the physical layer and re-transmits each received packet to every other port. A bridge operates at the data link layer of OSI Reference Model and increases efficiency by filtering packets to reduce the amount of unnecessary packet propagation on each network segment.
A network switch is similar in function to, yet more efficient than, a multiport bridge, which includes a plurality of ports for coupling to several similar networks for directing network traffic among the networks. A network switch usually includes a switching matrix coupled to the ports across a bus and memory for temporarily storing network data, such as Ethernet packets or the like. Significant processing capability is usually required to direct the traffic and to perform other tasks, such as initialization, configuration, statistical monitoring and network management, to name a few examples. Network management includes memory management, execution of the spanning tree algorithm according to the IEEE (Institute of Electrical and Electronics Engineers) 802.1 Standard, maintenance and management of the management information base (MIB) or MIB II structure, etc.
Typical switch architectures have one primary bus for all network and processor traffic. Such overhead functions require at least one processor or the like coupled to the bus to monitor and manage the ports, the switch fabric and the memory. The overhead functions require significant processor time and bus bandwidth, which interfere with normal network traffic, thereby slowing down and degrading the performance of the switch. Such performance degradation often leads to a significant number of dropped packets, particularly during heavy loads.
It is desired to provide a network switch with improved capacity for handling network traffic even during heavy loads. It is thus desired to provide a network switch which can handle network traffic while also performing network overhead functions, such as initialization, configuration, monitoring and network management.
Further, it is desired to provide a network switch with improved capacity for handling communication between networks that operate according to different protocols. Such communication should be performed in a manner so as to allow the network switch to perform its various other functions as well.
A network switch according to the present invention includes a plurality of first network ports, a plurality of second network ports, a first bus coupled to the first network ports operating according to a first bus definition, a second bus coupled to the plurality of second network ports operating according to a second bus definition and a bridge interface coupled between the first bus and the second bus. The first network ports receive and transmit network data on a plurality of first networks while the second ports receive and transmit network data on a second plurality of second networks. The first networks and the second networks operate according to different protocols and the first and second buses operate according to different bus standards. Thus, the bridge interface provides an improved interface for enabling data transfer between two different types of networks.
A switch manager controls the flow of all network data through the switch while a central processing unit (CPU) performs supervisory and control functions. The first bus is a high speed bus (HSB), the first network ports are quad cascade (QC) devices and the first networks are 10 Mb Ethernet compliant. The second bus is substantially peripheral component interconnect (PCI) compliant, the second network ports are ThunderLAN(trademark) devices for interfacing the second networks, which are 100 Mb Ethernet compliant.
In the embodiment shown, the bridge interface is a ThunderLAN(trademark) port interface (TPI), which is compliant with both the HSB and the PCI bus for passing data packets between the PCI bus and the HSB. The TPI includes a plurality of receive buffers for buffering packet data received from the TLAN devices and a plurality of transmit buffers for buffing packet data received from the switch manager. One receive buffer and one transmit buffer are logically assigned to each TLAN device. During packet data transfer operations across the HSB, the TPI responds, for each logical port it represents, to a poll by the switch manager indicating whether the TPI has packet data to transmit to the switch manager, whether the TPI has buffer space available that could store packet data received from the switch manager or neither. Thus, the TPI acts as a slave device on the HSB to emulate the operation of one of the QC devices to appear as one of the QC devices to the switch manager. The switch manager analyzes the poll response from a particular logical port and initiates a packet data transfer, if necessary.
During a packet data receive operation on the PCI bus, one of the TLAN devices initiates data packet transfers to the TPI while acting as a bus master. The TLAN device requests and receives a control list from the TPI that is executed during the receive operation. During packet data transmit operation on the PCI bus, the TPI initiates data packet transfers from the TPI while acting as a bus master. The TLAN device becomes the bus master and retrieves a control list from the TPI and executes the control list to transfer packet data from the TPI.
By storing control lists and by acting as both a bus master and as a bus slave on the PCI bus, the TPI relieves the CPU from controlling packet data transfers across the PCI bus. By emulating a QC device on the HSB, the TPI simplifies the operation of the switch manager. Further, by providing logical transmit and receive buffers and associated control circuitry, the TPI allows the switch manager to operate in a seamless fashion when transferring data to and from the TLAN devices.